<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <div id="app">
        <h1>{{msg}}</h1>

        <input type="text" v-model='firstName'>

        
        <input type="text" v-model='lastName'>
     
        <div>{{fullName}}</div>
    </div>
    <script src="./vue.js"></script>
    <script>
        var vm = new Vue({
            el: '#app',
            data: {
                msg: 'vue',
                firstName:'爱新觉罗母夜叉',
                lastName:'黑夜之子',
                fullName:''
            },
            methods: {

                


            },
            watch: {
                // 数据变化时执行异步或开销较大的操作

            //watch 初步使用一
                // firstName(newVal,oldVal) {
                //  console.log('新值:',newVal);
                //  console.log('旧值:',oldVal)
                //  alert('1')
                //  this.fullName=newVal+this.lastName
                    
                // },

                // lastName(newVal) {
                //     // toast('我被删除了')
                //     this.fullName= this.firstName+newVal
                // },

            // watch 初步使用二
                
            firstName :{
                  deep:true,   // 给对象 或者给数组  使用 deep true 表示深度监听
                  immediate: true,  // 这个属性  如果为true  一上来就可以监听到
                  handler: function (newval, oldVal) { 
                     console.log('old',oldVal) 
                     console.log('new:',newval)
                     this.fullName=newval+this.lastName
                  },

              },
              lastName :{
                  deep:true,   // 给对象 或者给数组  使用 deep true 表示深度监听
                  immediate: true,  // 这个属性  如果为true  一上来就可以监听到
                  handler: function (newval, oldVal) { 
                     console.log('old',oldVal) 
                     console.log('new:',newval)
                     this.fullName=this.firstName+newval
                  },

              }


                




            },          
        });
    </script>
</body>

</html>